Sync directions
A sync direction describes which system initiates a data transfer and which system receives it. Understanding sync directions before you build determines what your integration must implement — and what Qoyod handles on its side.
What sync directions are
Every synchronization between your integrated system and Qoyod flows in one of three directions.
Integrated system to Qoyod means your integrated system is the source of truth for the data being transferred. When something changes in your integrated system — a new product is created in your e-commerce platform, or a sale is recorded in your POS system — your integration sends that data to Qoyod. Qoyod receives the data and records it. The integrated system decides when to send; Qoyod waits to receive.
Example: A product is added to your e-commerce platform. Your integration sends the product details to Qoyod immediately, so that Qoyod's inventory and accounting records reflect the new item.
Qoyod to integrated system means Qoyod is the source of truth for the data being transferred. Your integration periodically queries Qoyod for changes — updated stock levels, new invoices, modified product prices — and applies those changes to the integrated system. Qoyod holds the data; your integration is responsible for fetching it on a schedule.
Example: A stock take is completed in Qoyod, adjusting inventory counts. Your integration polls Qoyod for inventory changes and updates your e-commerce platform's stock levels to match.
Bi-directional means data flows in both directions: your integrated system sends some data to Qoyod, and your integration fetches other data from Qoyod. Bi-directional is not a single mechanism — it is the combination of the two directions above, applied to different data types or different events within the same integration.
Example: Your integration pushes new orders from your e-commerce platform to Qoyod (integrated system to Qoyod), and separately polls Qoyod for updated product prices to display on your storefront (Qoyod to integrated system).
How to choose a direction
The right direction follows from which system owns each type of data. Answer two questions for each data type your integration touches:
- When this data changes, which system knows first?
- Which system's version should win when both systems have a record?
The answers point directly to a direction.
| Direction | Typical use case | Integrator implements | Qoyod does |
|---|---|---|---|
| Integrated system to Qoyod | Push orders, products, or customers into Qoyod as they are created in your platform | Sends requests to Qoyod endpoints when events occur in the integrated system | Receives, validates, and records the data |
| Qoyod to integrated system | Pull updated stock levels, prices, or invoice statuses from Qoyod into your platform | Polls Qoyod endpoints on a schedule; applies changes to the integrated system | Exposes updated records via its endpoints; does not push |
| Bi-directional | Full sync between an e-commerce platform and Qoyod's inventory and accounting records | Implements both sending and polling; owns conflict handling when the same record exists in both systems | Receives data on one set of endpoints; exposes data on another set |
Bi-directional requires the most implementation work because your integration must handle conflicts — cases where the same data record has been modified in both systems since the last synchronization. For conflict handling strategies, see conflict resolution.
What the integrator owns
Regardless of direction, the integrator is responsible for driving the synchronization. Qoyod does not initiate contact with your integrated system.
For integrated system to Qoyod flows, the integrator is responsible for:
- Detecting when data changes in the integrated system.
- Sending a request to the appropriate Qoyod endpoint with the correct data.
- Handling error responses and retrying failed requests.
- Tracking which records have been successfully synchronized.
For Qoyod to integrated system flows, the integrator is responsible for:
- Polling Qoyod endpoints on a cadence appropriate to the integration's latency requirements.
- Tracking the timestamp or cursor from the last successful poll so that only new changes are fetched.
- Applying the fetched changes to the integrated system.
- Handling cases where the integrated system is temporarily unavailable.
For guidance on polling cadence and scheduling, see sync frequency.
For bi-directional flows, the integrator owns all of the above, plus the logic that determines which system's version of a record takes precedence when a conflict exists. Qoyod does not arbitrate conflicts between concurrent updates.
All requests to Qoyod endpoints require an OAuth 2.0 access token. The integrator is responsible for obtaining and refreshing the access token as part of the integration's operational lifecycle.
Related
- Sync frequency — how often to poll and when to trigger synchronization.
- Conflict resolution — what to do when two systems have conflicting versions of the same record.
- Data model — the entities Qoyod exposes and how they map to integrated system concepts.